#include "define.h"

extern unsigned char PBLAZEPORT[]; // port 

void main() {
    PBLAZEPORT[GPIO_BASEADDR] = 0 ; // 输出值
    PBLAZEPORT[LED_BASEADDR] = 0 ; // 输出值
    PBLAZEPORT[ISR_BASEADDR] = GPIO_BASEADDR ; // 清中断标志
    __asm   ENABLE INTERRUPT  __endasm; // 开中断
    for(;;) {
        // PBLAZEPORT[0] = PBLAZEPORT[0] +1 ;
    }
}


void isr() __interrupt
{
    __asm  DISABLE INTERRUPT  __endasm; // 关中断 
    if(PBLAZEPORT[ISR_BASEADDR] & 0x01 ) { 
        PBLAZEPORT[LED_BASEADDR] = 1 ; 
    }

    if(PBLAZEPORT[ISR_BASEADDR] & 0x02 ) { 
        PBLAZEPORT[LED_BASEADDR] =2 ; 
    }
    if(PBLAZEPORT[ISR_BASEADDR] & 0x04 ) { 
        PBLAZEPORT[LED_BASEADDR] =3 ; 
    }

    if(PBLAZEPORT[ISR_BASEADDR] & 0x08 ) { 
        PBLAZEPORT[LED_BASEADDR] = 4 ; 
    }

    if(PBLAZEPORT[ISR_BASEADDR] & 0x10 ) { 
        PBLAZEPORT[LED_BASEADDR] =5 ; 
    }
    if(PBLAZEPORT[ISR_BASEADDR] & 0x20 ) { 
        PBLAZEPORT[LED_BASEADDR] =6 ; 
    }
    if(PBLAZEPORT[ISR_BASEADDR] & 0x40 ) { 
        PBLAZEPORT[LED_BASEADDR] =7 ; 
    }
    if(PBLAZEPORT[ISR_BASEADDR] & 0x80 ) { 
        PBLAZEPORT[LED_BASEADDR] =8 ; 
    }

    PBLAZEPORT[ISR_BASEADDR] = GPIO_BASEADDR ; // 清中断标志
}
